package com.source3g.dubbo.config.boot;

import com.alibaba.dubbo.config.*;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * Created by jianglin on 2016/12/28
 */
@Data
@ConfigurationProperties(prefix = "spring.dubbo")
public class DubboProperties {
    // application
    private ApplicationProperties application = new ApplicationProperties();

    // registry
    private RegistryProperties registry = new RegistryProperties();

    // protocol
    private ProtocolProperties protocol = new ProtocolProperties();

    // monitor
    private MonitorProperties monitor = new MonitorProperties();

    // module
    private ModuleProperties module = new ModuleProperties();

    // provider
    private ProviderProperties provider = new ProviderProperties();

    // consumer
    private ConsumerProperties consumer = new ConsumerProperties();

    private boolean health = false;

    public static class ApplicationProperties extends ApplicationConfig {
    }

    public static class RegistryProperties extends RegistryConfig {
    }

    public static class ProtocolProperties extends ProtocolConfig {
    }

    public static class MonitorProperties extends MonitorConfig {
    }

    public static class ModuleProperties extends ModuleConfig {
    }

    public static class ProviderProperties extends ProviderConfig {
    }

    public static class ConsumerProperties extends ConsumerConfig {
    }
}
